
/**
 * 选择图片 或 相机（单次调用，目的是兼容苹果）
 * @param {Function} getImgCallback 回调函数
 * @param {Number} num num | 9 num不能超过9
 * @param {String} type 'album' | 'camera' 相册或相机
 */
export function chooseImageFunc( getImgCallback, type = 'album', num = 1 ) {
  const self = this;
  return uni.chooseImage({
    count: num || 1, //默认9
    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
    sourceType: [type], //从相册选择
    success: function({ tempFilePaths: paths }) { uploadFile.call(self, getImgCallback, paths); },
    fail:function(res){ getImgCallback([]); },
    complete:function(res){}
  });
}

/**
 * 文件上传 在chooseImageFunc中调用（此图床只能上传jpg,jpeg,png,gif,bmp格式图片）
 * @param {Function} getImgCallback 回调函数
 * @param {String[]} paths 
 */
function uploadFile( getImgCallback, paths ) {
  const token = uni.getStorageSync('token');
  const app_id = this.getAppId();

  let limit = paths.length, count = 0, imgList = [];

  uni.showLoading({ title: '上传中' });

  paths.map((path, _) => {
    uni.uploadFile({
      url: this.websiteUrl + '/index.php?s=/api/file.upload/image',
      filePath: path,
      name: 'iFile',
      formData: { app_id, token },
      success: function({ data }) {
        let result = data;
        (typeof data === 'string') && (result = JSON.parse(data));

        (result.code === 1) && imgList.push(result.data);
      },
      fail:function(res){ getImgCallback([]); },
      complete: function() {
        count++;
        
        if (limit === count) {
          getImgCallback(imgList);
          uni.hideLoading();
        }
      }
    });
    
  });
}

  
  /*上传图片*/
  // uploadFile: function(tempList) {
  //   let self = this;
  //   let i = 0;
  //   let img_length=tempList.length;
  //   let params = {
  //     token: uni.getStorageSync('token'),
  //             app_id: self.getAppId()
  //   };
  //   uni.showLoading({
  //     title:'上传中'
  //   })
  //   tempList.forEach(function(filePath, fileKey) {
  //     uni.uploadFile({
  //       url: self.websiteUrl + '/index.php?s=/api/file.upload/image',
  //       filePath: filePath,
  //       name: 'iFile',
  //       formData: params,
  //       success: function(res) {
  //         let result = typeof res.data === 'object' ? res.data : JSON.parse(res.data);
  //         if (result.code === 1) {
  //           self.imageList.push(result.data);
  //         }
  //       },
  //       complete: function() {
  //         i++;
  //         if (img_length === i) {
  //           uni.hideLoading()
  //           // 所有文件上传完成
  //           self.$emit('getImgs',self.imageList);
  //         }
  //       }
  //     });
  //   });
  // }